Exporteren dataset naar Excel

Status
Niet open voor verdere reacties.

Myclos81

Gebruiker
Lid geworden
17 nov 2007
Berichten
157
Iemand die ervaringen heeft van het exporteren van een dataset naar Excel?

Heb al enkele methoden gebruikt en het commanda DataSet.WriteXml("filenaam.xls") werkt lekker en kan die als een xml tabel openen in excel 2007. Zonder problemen.

Indien ik dit wil doen in excel 2003 zegt hij dat er geen schema aan gekoppeld is en toont hij niks. En dit moet ook kunnen geopend worden ook in 2003.

Elk record exporteren vind ik wat te omslachtig als het met WriteXml ook lukt maar ik weet niet hoe het komt dat dit in Excel 2003 niet werkt.

Iemand andere methodes, tips, opmerkingen hierover ?

Mvg,
M81
 
Ik ben bang dat je elk record zult moeten gaan exporteren. Maar je zou natuurlijk wel zelf een functie kunnen schrijven die je dus in de toekomst weer kunt gebruiken.

Misschien kun je de code plaatsen zodat ik eventueel een codesample kan schrijven als je dat op prijs zou stellen.
 
Ik ben bang dat je elk record zult moeten gaan exporteren. Maar je zou natuurlijk wel zelf een functie kunnen schrijven die je dus in de toekomst weer kunt gebruiken.

Misschien kun je de code plaatsen zodat ik eventueel een codesample kan schrijven als je dat op prijs zou stellen.

Is opgelost. Ik gebruik onderstaande code (verbeteringen zijn eventueel welkom):

[CPP]
public void ExportToExcel(DataSet ds, String bestandsNaam)
{
ApplicationClass excel = new ApplicationClass();
excel.Application.Workbooks.Add(true);
DataTable table = ds.Tables[0];
int columnIndex = 0;
foreach (DataColumn col in table.Columns)
{
columnIndex++;
excel.Cells[1, columnIndex] = col.ColumnName;
}
int rowIndex = 0;
foreach (DataRow row in table.Rows)
{
rowIndex++;
columnIndex = 0;
foreach (DataColumn col in table.Columns)
{
columnIndex++;
excel.Cells[rowIndex + 1, columnIndex] = row[col.ColumnName].ToString();
}
}
Worksheet worksheet = (Worksheet)excel.ActiveSheet;
excel.DisplayAlerts = false;
worksheet.SaveAs(bestandsNaam, XlFileFormat.xlXMLSpreadsheet, Type.Missing, Type.Missing, Type.Missing,
false, false, XlSaveAsAccessMode.xlNoChange,Type.Missing, Type.Missing);
excel.DisplayAlerts = true;
//System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);
excel.Quit();
VerwijderOpenExcelProcessen();
GC.Collect();
}
}
[/CPP]
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan